import pandas as pd  
  
# 读取Excel文件  
df = pd.read_excel('机场.xlsx', engine='openpyxl')  
  
# 定义一个函数来将度分秒字符串转换为度  
def dms_to_dd(dms_str):  
    # 去除字符串两端的空格  
    dms_str = dms_str.strip()  
    # 移除度分秒中的双引号  
    dms_str = dms_str.replace('"', '')  
    # 分离度、分和秒（如果秒存在）  
    parts = dms_str.split('°')  
    degrees = float(parts[0])  
    minutes_str = parts[1].split("'")[0]  
    minutes = float(minutes_str)  
    # 检查是否有秒  
    if len(parts[1].split("'")) > 1:  
        seconds_str = parts[1].split("'")[1]  
        seconds = float(seconds_str) / 60  
    else:  
        seconds = 0  
    # 计算总度数  
    dd = degrees + minutes/60 + seconds/3600  
    return dd
  
# 应用函数到东经和北纬列  
df['东经'] = df['东经'].apply(dms_to_dd)  
df['北纬'] = df['北纬'].apply(dms_to_dd)  
  
# 显示结果  
print(df)  
  
# 如果您想将结果保存到一个新的Excel文件中  
df.to_excel('机场_单位转换后.xlsx', index=False)
